package com.liuugoqing.structural.flyweight;

/**
 *   抽象享元角色（Flyweight）：通常是一个接口或抽象类，在抽象享元类中声明了
 * 具体享元类公共的方法，这些方法可以向外界提供享元对象的内部数据（内部状态），
 * 同时也可以通过这些方法来设置外部数据（外部状态）。
 * @Author : liugq
 * @Date : 2022/7/5 16:29
 * @See : 参考类
 * @Since： JDK1.8
 * @Version : 1.0
 */
public abstract class AbstractBox {
    public abstract String getShape();

    /**
     * 外部状态
     * @param color  颜色
     */
    public void display(String color) {
        System.out.println("方块形状：" + this.getShape() + " 颜色：" + color);
    }
}
